#ifndef __SORT_H__
#define __SORT_H__

#include	<stdio.h>
#include	<stdlib.h>
#include	<assert.h>

void bubble_sort(int* arr, int len);
void optimized_bubble_sort(int* arr, int len);

void select_sort(int* arr, int len);
void optimized_select_sort(int* arr, int len);

void insert_sort(int* arr, int len);
void shell_sort(int* arr, int len);
void recursion_shell_sort(int* arr, int len);

void quick_sort(int* arr, int len);

void quick_sort2(int* arr, int len);
void _quick_sort2(int* arr, int low, int hight);

void radix_sort(int* arr, int len);

#endif /*__SORT_H__*/